A new area of technology with increasing importance is the domain of Workflow-Management-Systems (WFMS). WFMS support the modeling and execution of business processes. Business processes control which piece of work of a network of pieces of work will be performed by whom and which resources are exploited for this work. Thus, a business process describes how an enterprise will achieve its business goals. The individual pieces of work might be distributed across a multitude of different computer systems connected by a network.
The processes of designing, developing and manufacturing new products and the process of changing or adapting existing products present many challenges to product managers and engineers to bring the products to market at low cost and within schedule while maintaining or even increasing product quality. Many companies are realizing that the conventional product design process may not be satisfactory to meet these needs. Thus, they may involve manufacturing engineering, cost engineering, logistic planning, procurement, manufacturing, service and support early in the design effort. Furthermore, they may plan and control product data through design, release, and manufacturing.
The correct and efficient execution of business processes within a company, such as development or production processes, may be of enormous importance for a company and may be a significant influence on company's overall success in the marketplace. Therefore, those processes are being regarded similar to technology processes and are being tested, optimized and monitored. The management of such processes is usually performed and supported by a computer based process or workflow management system.
In D. J. Spoon: "Project Management Environment", IBM Technical Disclosure Bulletin, Vol. 32, No. 9A, February 1990, pages 250-254, a process management environment is described including an operating environment, data elements, and application functions and processes.
In R. T. Marshak: "IBM's FlowMark, Object-Oriented Workflow for Mission-Critical Applications", Workgroup Computing Report (USA), Vol. 17, No. 5, 1994, page 3-13, the object character of IBM FlowMark as a client/server product built on a true object model that is targeted for mission-critical production process application development and deployment is described.
In H. A. Inniss and J. H. Sheridan: "Workflow Management Based on an Object-Oriented Paradigm", IBM Technical Disclosure Bulletin, Vol. 37, No. 3, March 1994, page 185, other aspects of object-oriented modelling on customization and changes are described.
In F. Leymann and D. Roller: "Business Process Management with FlowMark", Digest of papers, Cat. No. 94CH3414-0, Spring COMPCON 94, 1994, pages 230-234, the state-of-the-art computer process management tool IBM FlowMark is described. The meta model of IBM FlowMark is presented as well as the implementation of IBM FlowMark. The possibilities of IBM FlowMark for modelling of business processes as well as their execution are discussed. The product IBM FlowMark is available for different computer platforms, and documentation for IBM FlowMark is available from IBM.
In F. Leymann: "A Meta Model to Support the Modelling and Execution of Processes", Proceedings of the 11th European Meeting on Cybernetics and System Research EMCR92, Vienna, Austria, Apr. 21 to 24, 1992, World Scientific 1992, pages 287 to 294, a meta model for controlling business processes is presented and discussed in detail.
The "IBM FlowMark for OS/2", document number GH 19-8215-01, IBM Corporation, 1994, available from IBM, represents a modern, sophisticated, and powerful workflow management system. It supports the modelling of business processes as a network of activities. This network of activities, referred to as the process model, is constructed as a directed, acyclic, weighted, colored graph. The nodes of the graph represent the activities or work items which are performed. The edges of the graph, referred to as the control connectors, describe the potential sequence of execution of the activities. Definition of the process graph is via the IBM FlowMark Definition Language (FDL) or the built-in graphical editor. The runtime component of the workflow manager interprets the process graph and distributes the execution of activities to the right person at the right place, e. g. by assigning tasks to a work list according to the respective person, wherein the work list is stored as digital data within the workflow or process management computer system.
In F. Leymann and W. Altenhuber: "Managing Business Processes as an Information Resource", IBM Systems Journal, Vol. 32(2), 1994, the mathematical theory underlying the IBM FlowMark product is described.
In D. Roller: "Verifikation von Workflows in IBM FlowMark", in J. Becker und G. Vossen (Hrsg.): "Geschaeftsprozessmodellierung und Workflows", International Thompson Publishing, 1995, the requirement and possibility of the verification of workflows is described. Furthermore the feature of graphical animation for verification of the process logic is presented as it is implemented within the IBM FlowMark product.
To implement a computer based process management system, the business processes are analyzed and, as the result of this analysis, a process model is constructed as a network of activities corresponding to the business process. In the IBM FlowMark product, the process models are not transformed into an executable. At run time, an instance of the process is created from the process model, called a process instance. This process instance is then interpreted dynamically by the IBM FlowMark product.
Most workflow management systems (WFMS) keep process model information and the state information for the process instances in some type of database management system (DBMS). Relational database management system (RDBMS) are important candidates for that purpose. The WFMS control functions of a WFMS engine, such as navigating through the process graph, performing staff resolution and invoking programs, operate to access the information in the database, make the appropriate computations, and store new state information in the database. Access to the database takes place for instance via the appropriate SQL calls. However, even if WFMS make use of DBMS, both areas generally are completely different areas of technology.
It is generally desirable to improve a WFMS's throughput and responsiveness. Throughput and responsiveness may be impaired by the distributed nature of executing process models by WFMS, the huge amount of WFMS state information for very complex process models and the potentially large number of simultaneous users of a WFMS. Thus, there is a continuing need to improve internal processing speed and throughput of the WFMS to deliver as much as possible of the computer systems' processing power to the business processes themselves.